home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 29 / CDT29.iso / e-Mail / WorldClient Pro 2.2.3 / wcsetup.exe / WEBHELP.ZIP / hhapplet / URLFileHandler.class (.txt) < prev   
Encoding:
Java Class File  |  1999-10-21  |  2.0 KB  |  113 lines

  1. package hhapplet;
  2.  
  3. import java.io.File;
  4. import java.net.MalformedURLException;
  5. import java.net.URL;
  6.  
  7. public class URLFileHandler {
  8.    public static String GetNormalizedLocal(String var0) {
  9.       String var1 = var0;
  10.  
  11.       for(int var2 = 0; var2 < var1.length(); ++var2) {
  12.          if (var1.charAt(var2) > 127) {
  13.             var1 = var1.substring(0, var2) + "%" + Integer.toString(var1.charAt(var2), 16) + var1.substring(var2 + 1, var1.length());
  14.          }
  15.       }
  16.  
  17.       return var1;
  18.    }
  19.  
  20.    public static URL makeURL(URL var0, String var1, String var2) throws MalformedURLException {
  21.       try {
  22.          String var13 = var0.getProtocol();
  23.          String var4 = var0.getHost();
  24.          String var5 = var0.getFile();
  25.          int var6 = var0.getPort();
  26.          String var7 = tuHtmlToText(var5);
  27.          String var8 = GetNormalizedLocal(var7);
  28.          URL var9 = new URL(var13, var4, var6, var8);
  29.          String var10 = tuHtmlToText(var1);
  30.          String var11 = GetNormalizedLocal(var10);
  31.          return new URL(var9, var11);
  32.       } catch (MalformedURLException var12) {
  33.          File var3 = new File(var1);
  34.          return var3.exists() ? new URL("file:/" + var1) : new URL(var0, var2);
  35.       }
  36.    }
  37.  
  38.    static String tuHtmlToText(String var0) {
  39.       if (var0 == null) {
  40.          return null;
  41.       } else {
  42.          int var1 = var0.indexOf(38);
  43.          if (var1 < 0) {
  44.             return var0;
  45.          } else {
  46.             String var2 = "";
  47.  
  48.             while(var1 > -1 && var1 < var0.length() - 2) {
  49.                var2 = var2 + var0.substring(0, var1);
  50.                String var3 = var0.substring(var1);
  51.                int var4 = var3.indexOf(59);
  52.                if (var4 < 0) {
  53.                   var2 = var2 + var3;
  54.                   break;
  55.                }
  56.  
  57.                if (var4 < var3.length() - 1) {
  58.                   var0 = var3.substring(var4 + 1);
  59.                } else {
  60.                   var0 = "";
  61.                }
  62.  
  63.                var3 = var3.substring(1, var4);
  64.                switch (Character.toUpperCase(var3.charAt(0))) {
  65.                   case 'A':
  66.                      if (var3.equalsIgnoreCase("amp")) {
  67.                         var3 = "&";
  68.                      }
  69.                      break;
  70.                   case 'C':
  71.                      if (var3.equalsIgnoreCase("copy")) {
  72.                         var3 = "(c)";
  73.                      }
  74.                      break;
  75.                   case 'G':
  76.                      if (var3.equalsIgnoreCase("gt")) {
  77.                         var3 = ">";
  78.                      }
  79.                      break;
  80.                   case 'L':
  81.                      if (var3.equalsIgnoreCase("lt")) {
  82.                         var3 = "<";
  83.                      }
  84.                      break;
  85.                   case 'N':
  86.                      if (var3.equalsIgnoreCase("nbsp")) {
  87.                         var3 = " ";
  88.                      }
  89.                      break;
  90.                   case 'Q':
  91.                      if (var3.equalsIgnoreCase("quot")) {
  92.                         var3 = "\"";
  93.                      }
  94.                      break;
  95.                   case 'R':
  96.                      if (var3.equalsIgnoreCase("reg")) {
  97.                         var3 = "(R)";
  98.                      }
  99.                }
  100.  
  101.                var2 = var2 + var3;
  102.                var1 = var0.indexOf(38);
  103.                if (var1 < 0) {
  104.                   var2 = var2 + var0;
  105.                }
  106.             }
  107.  
  108.             return var2;
  109.          }
  110.       }
  111.    }
  112. }
  113.